package com.tz.service;

import com.tz.entity.User;
import com.tz.entity.search.UserSearchPojo;
import com.tz.util.PageBean;

import java.util.List;

/**
 * @author Alex
 * @date 17-12-29
 */
public interface UserService {
    /**
     * 分页显示所有的用户
     *
     * @param pageNow
     * @param pageSize
     * @return 本页角色
     */
    PageBean<User> queryUserByPage(Integer pageNow, Integer pageSize, UserSearchPojo userSearchPojo);

    /**
     * 查询出所有用户
     * 为统计和筛选功能做准备
     *
     * @return 所有用户
     */
    List<User> findAll();


    /**
     * 查询出所有用户
     * 为统计和筛选功能做准备
     *
     * @return 有权限的用户
     */
    List<User> findAllByRole(Long roleid);

    /**
     * 批量启用/禁用用户
     *
     * @param ids
     * @enable 1启用 0禁用
     */
    void changeBatchUserStatus(List<Long> ids, Integer enable);

    /**
     * 用户登陆
     *
     * @param ids
     * @enable 1启用 0禁用
     */
    User login(String username, String password);

    /**
     * 修改用户
     *
     * @param user 用户
     */
    void changeUser(User user);

    /**
     * 浏览用户
     *
     * @param id 用户id
     */
    User viewUserById(Long id);

    /**
     * 添加用户
     * param user 添加的用户 无id
     */
    void addUser(User user);



    /**
     * 批量重置密码     *
     * @param ids 用户密码
     */
    void resetPassword(List<Long> ids);
}
